package jianzhiOffer;

/**
 * 48. 最长不含重复字符的子字符串
 * 请从字符串中找出一个最长的不包含重复字符的子字符串，计算该最长子字符串的长度。
 *
 * @author 司松坡
 * @createTime 2023年04月26日
 */
public class Jian48 {
    public int lengthOfLongestSubstring(String s) {
        if (s == null || s.equals("")) {
            return 0;
        }
        if (s.length() == 1) {
            return 1;
        }
        int size = s.length();
        int res = 1;
        //定义左窗口
        int left = 0;
        char site;
        for (int i = 1; i < size; i++) {
            site = s.charAt(i);
            for (int j = left; j < i; j++) {
                if (s.charAt(j) == site) {
                    left = j + 1;
                    break;
                }
            }
            res = Math.max(res, i - left + 1);
        }
        return res;
    }

}
